from django.shortcuts import render
from django.http import HttpResponse,JsonResponse
from django.core.urlresolvers import reverse
from myadmin import models

# 显示地址列表
def address_list(request):
    adds = models.Address.objects.filter(uid=request.session['user']['uid'])
    context = {'adds': adds}
    return render(request, 'home/address/list.html', context)

# 修改地址
def address_up(request):
    # 获取用户对象
    # 接收数据
    data = request.GET.dict()
    ob = models.Address.objects.get(id=data['aid'])
    ob.addressname = data['addressname']
    ob.address = data['address']
    ob.addressphone = data['addressphone']

    # 获取用户对象  uid 为 与用户的外键  用户表的 id 等于 当前登录用户的 id 数据库里有多个用户 获取当前用户的所有id
    data['uid'] = models.Users.objects.get(id=request.session['user']['uid'])

    # 判断是否为默认地址
    if data['status'] == '1':
        ob.status = 1
        # 把其余的 地址改为 非默认  获取用户对象   当前的用户id相等
        obs = models.Address.objects.filter(uid=data['uid'])
        # 循环获得单个对象
        for x in obs:
            # 改变每个对象的 状态
            x.status = 0
            x.save()
    # 执行修改
    ob.save()
    return JsonResponse({'error':0,'msg':'修改成功'})

# 删除地址
def address_del(request):
    # 获取用户传来的 id
    id = request.GET.get('id')
    # 获取用户对象
    ob = models.Address.objects.get(id=id)
    # 将地址状态改为2
    ob.status = 2
    ob.save()
    return JsonResponse({'error':0,'msg':'删除成功'})

# 修改默认地址
def address_defalut(request):
    # 获取传来的 id
    id = request.GET['aid']
    # 获取当前地址对象
    ob = models.Address.objects.get(id=id)
    # 获取用户对象  uid 为 与用户的外键  用户表的 id 等于 当前登录用户的 id 数据库里有多个用户 获取当前用户的所有id
    userid = models.Users.objects.get(id=request.session['user']['uid'])
    # 获取所有用户的地址对象
    obs = models.Address.objects.filter(uid=userid)
    # 将用户对象的地址状态改为 0 （普通地址）
    for o in obs:
        o.status = 0
        o.save()
    # 将当前用户的地址改为 默认地址
    ob.status = 1
    ob.save()
    return HttpResponse('<script>location.href="'+ reverse('home_address_list')+'"</script>')
